package entities;

import java.io.Serializable;

import javax.persistence.*;

import menagement.dto.EscursioneDTO;

import java.sql.Time;
import java.util.List;


/**
 * The persistent class for the Escursione database table.
 * 
 */
@Entity
@NamedQueries({
	@NamedQuery(name="Escursione.findAll", query="SELECT e FROM Escursione e WHERE e.valido= TRUE"),
	@NamedQuery(name="Escursione.findProprioAll", query="SELECT e FROM Escursione e WHERE e.codice= :codice"),
	@NamedQuery(name="Escursione.trovaEscursioniInCitta", query="SELECT e FROM Escursione e WHERE e.luogoPartenza= :citta AND e.valido= TRUE"),
	@NamedQuery(name="Escursione.trovaEscursioniPerCodice", query="SELECT e FROM Escursione e WHERE e.codice= :codice AND e.valido= TRUE")
})
public class Escursione implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private int codice;

	private Time durata;

	private String luogoPartenza;

	private int prezzo;

	private String stagione;

	private String tipologia;
	
	private String nome;
	
	private boolean valido;

	public Escursione() {
	}
	
	public Escursione(EscursioneDTO escursione){
		this.durata=escursione.getDurata();
		this.luogoPartenza=escursione.getLuogoPartenza();
		this.prezzo=escursione.getPrezzo();
		this.tipologia=escursione.getTipologia();
		this.stagione=escursione.getStagione();
		this.nome=escursione.getNome();
		this.codice=escursione.getCodice();
	}

	
	public boolean isValido() {
		return valido;
	}

	public void setValido(boolean valido) {
		this.valido = valido;
	}

	public int getCodice() {
		return this.codice;
	}

	public void setCodice(int codice) {
		this.codice = codice;
	}

	public Time getDurata() {
		return this.durata;
	}

	public void setDurata(Time durata) {
		this.durata = durata;
	}

	public String getLuogoPartenza() {
		return this.luogoPartenza;
	}

	public void setLuogoPartenza(String luogoPartenza) {
		this.luogoPartenza = luogoPartenza;
	}

	public int getPrezzo() {
		return this.prezzo;
	}

	public void setPrezzo(int prezzo) {
		this.prezzo = prezzo;
	}

	public String getStagione() {
		return this.stagione;
	}

	public void setStagione(String stagione) {
		this.stagione = stagione;
	}

	public String getTipologia() {
		return this.tipologia;
	}

	public void setTipologia(String tipologia) {
		this.tipologia = tipologia;
	}
	
	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}


}